home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 3: CDPD 3
/
Almathera Ten on Ten - Disc 3: CDPD3.iso
/
scope
/
076-100
/
scopedisk83
/
qmouse15
/
qmouse.doc
< prev
next >
Wrap
Text File
|
1995-03-19
|
24KB
|
727 lines
QMouse 1.5 Copyright 1989 by Lyman Epp
Another "Mouse Accelerator???" What for? It seems that all the
other mouse accelerators have been written in "C". This is okay,
but the programs are 10-30K. This mouse accelerator is written
in assembler and contains most of the features of the others, but
the program size is less than 4K bytes! QMouse stands for "Quick
Mouse."
This is being distributed as ShareWare. If you think that QMouse
is useful, please send $10. Your response will insure the
release of more quality programs for your Amiga! Be sure to
check out the latest shareware version of QView.
The latest version of QMouse can always be found first on the
Wind Dragon Inn BBS, (402)-291-8053 or Larry's Hot Tub BBS,
(402)-571-4316.
Lyman R. Epp
10072 Wirt Plaza #15
Omaha, Nebraska 68134
THANKS TO THESE REGISTERED USERS!
D. J. James Ted Michelse
Scott Brickner Paul O'Keefe
Elliott Hammett Robert Gregory
David Cole Jeremy Farrance
Ken Rahmoeller Bill Hogsett
Eric Schwertfeger John Robertson
Peter Sawko Richard Lindzen
Michael Cowperthwaite W. Carl Day
Richard Glanzer Mark Kenne
Kurt Wessels Donald Clark
Frank De Francesco Michael Sawyer
Jack R. Smith Bryan Pinette
James Zulliger Ed Vishoot
Keith Burton Vince Marco
Scott Michael David Shriver
Rich Falconburg
THANKS TO THESE BETA TESTERS!
Clete Baker Vince Marco
1
QMOUSE FEATURES
o Screen blanks if keyboard or mouse is idle for a while.
This will prevent an image "burning" onto your monitor while
left unattended.
o The mouse pointer blanks if mouse is idle for a while. The
mouse pointer will also blank when the first keystroke is
typed.
o Mouse accelerator with configurable threshold to allow for
precise mouse pointer positioning.
o Automatic window activation (i.e. Sun Mouse). Makes the
window under the mouse pointer the active window. Sun Mouse
will not activate windows if either mouse button is
depressed--this will allow you to move WorkBench icons
between windows.
o Multiple configurable hot keys, ala PopCli, activated with
the <Left Amiga><hotkey> combination. The <Left Amiga><Esc>
combination is preset to execute NEWCLI. The RUN command
must be in your C: directory.
o Keyboard record/playback. <Left Alt><Esc> toggles the
keystroke recorder on and off. Press <Left Alt><Return> to
playback the previously recorded keystrokes.
o Window to front. Left Mouse Button click(s) in window will
bring it to the front. Won't try to bring the window to the
front if it is already in the front. The number of clicks
required is configurable. The time between clicks is
determined by Preferences.
o Window to back. Hold down the Left Mouse Button in a window
and click the Right Mouse Button to send that window to the
back.
o Screen shuffle. Press <Left Amiga><M> to send the front
screen to the back. The screen that comes to the front will
have its previously active window made active.
o The smallest clock yet! Can be turned off if you don't like
clocks. The amount of available memory can optionally be
displayed. Starting column is also configurable. The clock
window will be brought to the front (of the WorkBench
screen) whenever it becomes obscured.
o Every option can be turned off or modified. Options can be
entered from the command line (e.g. Startup-Sequence) or
from a user specifiable configuration file.
2
o Uses a background CLI. Programs like DMouse and PopCLI3
don't use a background CLI, and therefore any NewCLI's
spawned by them will have no default directory, no default
path, etc. You can now set the stack size for any spawned
CLI's. This will allow you to set a lower stack size before
starting QMouse, but insure an adequate stack size for
spawned CLI's.
3
COMMAND LINE ARGUMENTS
Arguments can be typed in upper or lower case. Arguments can be
enclosed in quotes, e.g. "-A3". Quotes are required if the
argument contains spaces, otherwise they are optional. Commands
can also be in a configuration file and used with the -F option.
-A# Set acceleration to #. Can be in the range of 0
to 65,535. Mouse movement events that have X or Y
motion greater than the acceleration threshold
(see option -T) will be accelerated by this
factor. The default acceleration value is 3. To
disable this feature, specify 0 or 1.
-B Enable click to back feature.
-C[E][M][#] Activate clock. To display clock in 24 hour
format (European), specify an "E" after the "C".
To display available memory, specify an "M" after
the "C" (e.g. -CM). If both "E" and "M" are used,
the "E" must come before the "M". You can also
specify an optional column where the clock will be
displayed. The width of the clock is 44 pixels
(92 if available memory is displayed.) The column
number must be in the range of 0 to [screen width
- clock width]. To place the clock next to the
front/back gadgets, use a value of [screen width -
clock width - 53]. With a screen width of 640 and
with available memory displayed, this would be a
column value of 495 (-CM495). The default column
value is 280.
-Ecommand Set command to execute when <Left Amiga><Esc> is
pressed. If the command contains spaces, then the
entire command must be enclosed in quotes. The
default command is NEWCLI. The RUN command must
be in your C: directory. The RUN command MUST
precede any commands other than NEWCLI (e.g.
"-eRun ed".)
-Fname Read configuration information from the specified
file. The -F option can be nested any number of
levels (or until the stack overflows.) The format
for the configuration file is identical to the
command line format. Each option can be entered
on a separate line. Anything between a semi-
colon character ";" and the end of the line will
be considered a comment. A sample configuration
file is included.
4
-Hxx=command Set the command to execute when this hot key is
invoked. The 'xx' parameter defines the raw key
code for this hot key. Whenever this key is
pressed in combination with the <Left Amiga><key>,
the command will be executed. The raw key values
are printed later in this documentation. For more
information, see option -E.
-K# Set number of clicks required to bring a window to
the front. The default value is 2 clicks. To
disable this feature, specify 0 clicks. Can be in
the range of 0 to 65,535 clicks.
-M Deactivate the screen shuffler. The <Left Amiga>
<M> combination will revert to Intuition pushing
the WorkBench screen to the back. To deactivate
the screen shuffler completely, specify -M.
-P# Set the number of seconds to wait after a mouse
event before blanking the mouse pointer. Just
move the mouse again and the pointer will
reappear. The default value is 10 seconds. To
disable this feature, specify 0 seconds. Can be
in the range of 0 to 65,535 seconds.
-R Enable automatic window activation.
-S# Set the number of seconds to wait after any user
event (keyboard, mouse or disk changed) before
blanking the screen. Just move the mouse, type a
key or insert a disk and the screen will be
restored. The default value is 600 seconds. To
disable this feature, specify 0 seconds. Can be
in the range of 0 to 65,535 seconds.
-T# Set mouse acceleration threshold in pixels per
event (see option -A). This option provides a way
to position the mouse pointer precisely, without
the acceleration factor "getting in the way." The
default value is 3. Can be in the range of 0 to
65,535 pixels per event.
-V# Set the stack size for any spawned CLI's. This
allows the stack size for the QMouse's CLI to be
set to a minimum. The default value is obtained
from the CLI that QMouse was run from. Can be in
the range of 1800 to 655,360 bytes.
5
HOW TO USE
QMouse must be executed from a CLI (or from a Startup-Sequence.)
It can't be run from WorkBench. It is recommended that you set
the stack size to 2000 before starting QMouse. It is also
recommended that you use the -V option of QMouse to set the stack
size for any spawned CLI's to at least 20000.
1> STACK 2000
1> RUN >NIL: QMouse -B -CEM543 -R -V20000 -FS:QMouse.cfg
1> STACK 20000
TO REMOVE QMOUSE
Press <Control><Left Amiga><Esc> (all at the same time.)
SOURCE CODE
Due to the large size of the source code for QMouse (over 50K),
it will no longer be distributed. If you desire the source code,
please send an SASE and a disk with your QMouse donation. Please
feel free to send the disk with public domain programs.
CREDITS
This program has been inspired by PopCLI, MachII, DMouse, and
others. Thanks to the authors of these programs for providing
good examples of how to make the Amiga "do its thing!"
6
RAW KEY DEFINITIONS
Raw Key Raw Key
Number Key Number Key
00 ` 30 Undefined
01 1 31 Z
02 2 32 X
03 3 33 C
04 4 34 V
05 5 35 B
06 6 36 N
07 7 37 M
08 8 38 <
09 9 39 >
0A 0 3A /
0B - 3B Undefined
0C = 3C NK.
0D \ 3D NK7
0E Undefined 3E NK8
0F NK0 3F NK9
10 Q 40 Space
11 W 41 Back Space
12 E 42 Tab
13 R 43 Enter
14 T 44 Return
15 Y 45 Escape
16 U 46 Del
17 I 47 Undefined
18 O 48 Undefined
19 P 49 Undefined
1A { 4A NK-
1B } 4B Undefined
1C Undefined 4C UP
1D NK1 4D DOWN
1E NK2 4E RIGHT
1F NK3 4F LEFT
20 A 50 F1
21 S 51 F2
22 D 52 F3
23 F 53 F4
24 G 54 F5
25 H 55 F6
26 J 56 F7
27 K 57 F8
28 L 58 F9
29 ; 59 F10
2A " 5A Undefined
2B Undefined 5B Undefined
2C Undefined 5C Undefined
2D NK4 5D Undefined
2E NK5 5E Undefined
2F NK6 5F Help
7
RELEASE 1.1 NOTES
08-Jul-1988
o Made the clock come to the front whenever its been obscured,
rather than every 10 seconds. This was bothering some
programs. Thanks to D. J. James for this idea.
o The manual incorrectly documented the <Control><Left Amiga>
<Esc> method of terminating QMouse. This should have read
<Control><Left Amiga><F1>, but I changed the program to work
as documented.
o Intuition will restore the mouse pointer occasionally. I
changed QMouse to re-blank the mouse pointer quicker than
before.
RELEASE 1.2 NOTES
30-Aug-1988
o Modified to assemble with the Manx assembler. The Manx
assembler creates about 5-10% smaller code. See the
included makefile for assembling with the Manx assembler.
Source will still assemble with the Metacomco assembler as
before!
o Intuition calls are now made from the QMouse task, rather
than from the input handler. This should resolve any
Intuition lockups.
o WindowToFront() not called for BACKDROP type windows. This
should help eliminate the possibility of WorkBench locking
up.
o Added automatic window activation (i.e. Sun Mouse). Specify
option -R to activate Sun Mouse (-S was already used.)
o Added click to back feature. Specify option -B to activate
click to back.
o Added stack size feature. Allows QMouse to run with a
smaller stack while insuring adequate stack size for spawned
CLI's. Specify option -V to change the default stack size.
o Fixed bug with clicking to front a window on a screen that
is in the background. No one had reported this bug yet. ;-)
o Cleaned up documentation and fixed any inaccuracies that I
found. Documentation for option -M now reads to
"deactivate" the screen shuffler. Actually, the -M option
was ignored until release 1.2.
8
RELEASE 1.3 NOTES
6-Oct-1988
o Added multiple hot key support. Specify option -H to define
multiple hot key commands. Thanks to Clete Baker for this
idea.
o Added keyboard record/playback support. <Left Alt><Esc>
toggles the recorder on and off. <Left Alt><Return>
activates the keyboard playback.
o Added ability to read commands from a configuration file.
This was needed to support multiple hot key definitions.
Specify option -F to read commands from a file.
o Added option to display the amount of available memory with
the clock. Add the "M" modifier to option -C to display the
amount of available memory (e.g. -CM).
o Added option to display the time in 24 hour format. This
option was added at the request of Jim Cooper.
o When pointer blanking is enabled, the pointer will be
blanked immediately when a key is typed. Thanks to Eric
Schwertfeger for this idea.
o Changed the method of screen blanking. Previously, QMouse
opened an Intuition screen and changed it's colors, now
QMouse turns off DMA for the COPPER. This shaved off 88
bytes from QMouse.
o General code cleanup. Tried to make the code more reliable
in certain situations. The code size grew several hundred
bytes on account of this effort.
9
RELEASE 1.4 NOTES
29-Oct-1988
o Restored the method of screen blanking to version 1.2. The
screen blanker in version 1.3 could sometimes lock up the
display. Thanks to Elliott Hammett for reporting this bug!
o Changed the method of pointer blanking. This takes care of
the problem of Intuition restoring the pointer occasionally.
This makes pointer blanking usable with WordPerfect.
o Changed the screen shuffler to automatically activate the
new front screen's previously active window. This may
conflict with programs that use the screen's UserData field.
Thanks to Eric Schwertfeger and Jeremy Farrance for this
idea.
o Made QMouse look like a process rather than a CLI. You
still need to use Run, but it will not appear as a CLI.
This frees up this CLI for other uses. Thanks to Jim Cooper
for this idea.
o Changed the -F option to allow control characters in the
configuration file. This allows the TAB character to be
treated like a space. Thanks to Jim Cooper for this idea.
o Changed the recommended stack size for QMouse from 4000
bytes to 2000 bytes. It is not recommended to use any value
less than 2000 bytes.
10
RELEASE 1.5 NOTES
14-Mar-1989
o Changed the screen shuffler to automatically activate the
first window on a screen if the previously active window has
been closed. Also, the screen's UserData field will be
undisturbed if screen shuffling is disabled.
o Restored the method of screen blanking to version 1.3. Some
minor changes were also made.
o Changed the method of pointer blanking (again!) Version 1.4
conflicted with Phasar V3.0. Thanks to Elliott Hammett for
reporting this bug.
o Allowed the screen shuffler and playback keys to repeat
normally.
o Added memory management functions. This should eliminate
any memory fragmentation by QMouse. All memory will be
allocated in 1K blocks and sub-allocated.
o Removed code that made QMouse look like a process. Why look
like a process when you are really a CLI?
o Fixed a bug in the record/playback keys. It would trash
four bytes at memory location $0. Thanks to Michael
Groshart for reporting this bug.
11